Expand description

Bindings for Binomial LLC’s basis-universal Supercompressed GPU Texture Codec

basis-universal functionality can be grouped into two categories:

  • Encoding: Compresses and encode textures (optionally combining multiple images and mipmap layers in a single file/binary blob)
  • Transcoding: Unpacks the texture into GPU-friendly compression formats. The final format can be chosen based on what the available GPU hardware can support.

Encoding can be done ahead of time using a command line tool in the upstream repository.

The encoded data can either be stored as a file or a binary blob. This data can include multiple images, and each image can store multiple levels. This is commonly used for storing cube textures and textures with precomputed mipmaps. This library also supports generating mipmaps for you.

Please refer to https://github.com/BinomialLLC/basis_universal for more details.

Re-exports

pub use transcoding::*;
pub use encoding::*;
pub use basis_universal_sys as sys;

Modules

Support for compressing raw image data to basis-universal form

Support for transcoding basis-universal form to GPU-friendly formats.

Structs

Arbitrary data that can be attached to a basis-universal file/binary blob

Constants

The default quality level used if CompressorParams::set_etc1s_quality_level is not called

The maximum quality level that can be provided to CompressorParams::set_etc1s_quality_level

The minimum quality level that can be provided to CompressorParams::set_etc1s_quality_level

Maximum supported image dimension

Maximum supported texture dimension

The default quality level used if CompressorParams::set_uastc_quality_level is not called

The maximum quality level that can be provided to CompressorParams::set_uastc_quality_level

The minimum quality level that can be provided to CompressorParams::set_uastc_quality_level